A three-dimensional position-sensing device can determine the three-dimensional locations of objects within a limited field of view. One example of such a device is the DIGICLOPS™ stereo vision system available from Point Grey Research of Vancouver, Canada. Such systems are used in a wide variety of applications, such as computer vision systems, tracking applications, object dimensioning applications and others.
A typical stereo vision camera system comprises two spaced-apart digital cameras. Some prior art stereo vision camera systems have three cameras. FIG. 1 shows a two-camera vision system 1 having two cameras 11A and 11B. The distance b between cameras 11A and 11B is referred to as the “baseline”. Each of cameras 11A and 11B has an associated optical axis 16A and 16B and a field of view 12A and 12B. These fields of view 12A and 12B overlap one another in region 13, which is referred to as the “stereo measurement field”.
The position in a local three-dimensional coordinate system of a point on an object in the stereo measurement field can be determined by triangulation. This may be done by locating the point in images from each of cameras 11A and 11B. The position of the point is related to the (u, v) positions at which the point appears in the two images by a function as follows:{right arrow over (p)}(x, y, z)=F(u1, v1, u2, v2)  (1)where (u1, v1) is the position of the image of the point in the image obtained by camera 11A; (u2, v2) is the position of the image of the point in the image obtained by camera 11B and (x, y, z) is the location of the point in the reference frame of stereo measurement unit 10. The function F depends upon the distance b, the optical characteristics of cameras 11A and 11B, and the spacing between light-sensing elements in cameras 11A and 11B. Stereo measurement unit 10 may be calibrated (i.e. the function F can be determined) in any suitable manner including by using any of a number of prior art techniques mown to those skilled in the art. The coordinate system (x, y, z) is local to vision system 1. If system 1 is moved relative to an object then the apparent position of the object in coordinate system (x, y, z) will change.
System 1 includes a processor 14 which receives images from each of cameras 11A and 11B, performs feature extraction to identify corresponding points in each of the images and uses the known function F to determine the locations of the corresponding points in the (x, y, z) coordinate system of stereo measurement unit 10. Since the three-dimensional imaging system 1 employs triangulation techniques, if cameras 11A and 11B remain fixed relative to one another, calibration will be preserved. Movements of cameras 11A and 11B or changes in baseline b can cause spurious measurement results.
The size of stereo measurement field 13 and the three-dimensional imaging resolution of stereo measurement unit 10, may be improved to some degree by one or more of:                changing fields of view 12A and 12B of cameras 11A and 11B;        increasing the resolution of cameras 11A and 11B; and,        changing the baseline b.However, each of these techniques has limitations.        
Changing the field of view of cameras 11A and/or 11B may increase the size of stereo measurement field 13 and improve the measurement accuracy of stereo measurement unit 10 for a particular range of distances, but such a change simultaneously decreases the measurement accuracy at other distances. For example, widening the field of view of camera 11A increases the size of stereo measurement field 13 and improves the measurement accuracy of stereo measurement unit 10 for close objects, but decreases accuracy for objects that are farther away.
Increasing imaging resolution of cameras 11A and 11B improves the three-dimensional imaging resolution of stereo measurement unit 10, but increases the amount of data to be processed and decreases system speed.
In prior art systems like system 1, there is a trade-off between the size and location of stereo measurement field 13 and the accuracy with which three-dimensional positions can be determined. Increasing baseline b (i.e. moving cameras 11A and 11B farther apart) increases the accuracy of tree-dimensional measurements made using stereo measurement unit 10. However, increasing the length of baseline b causes the location of overlap between the limited fields of view (12A and 12B) of cameras 11A and 11B to move to a region further away from stereo measurement unit 10. This eliminates the ability to determine the locations of closer objects.
Increasing the length of baseline b may also lead to system calibration difficulties. If cameras 11A and 11B are too far apart, it becomes more difficult to keep cameras 11A and 11B from moving in relation to one another. Increasing baseline b also increases the overall size of stereo measurement unit 10.
There is a need for improved apparatus and methods for determining the locations of objects.